$(document).ready(
    function()
    {
        $(window).resize(
            function()
            {
                $('#espDisable').css("height",$(document).height());
                $('#espDisable').css("width",$(document).width());
                $('.popUp').css("top", ($(window).height() - $('.popUp').outerHeight()) / 2 + $(window).scrollTop() + "px");
                $('.popUp').css("left", ($(window).width() - $('.popUp').outerWidth()) / 2 + $(window).scrollLeft() + "px");
            }
        );
        $('.popUp').each(
            function()
            {
                $(this).css("top", ($(window).height() - $(this).outerHeight())
                    / 2 + $(window).scrollTop() + "px");
                $(this).css("left", ($(window).width() - $(this).outerWidth())
                    / 2 + $(window).scrollLeft() + "px");
            }
        );
        $('.unMembre:odd').addClass('impair');        

        // Fonction pour cocher tous les messages lorsqu'on coche le checkbox général
        $('#chkTout').change(
            function()
            {
                if($(this).is(':checked'))
                {
                    $('.chkMembre').each(
                        function()
                        {
                            $(this).attr('checked', true);
                        }
                    ); 
                }
                else
                {
                    $('.chkMembre').each(
                        function()
                        {
                            $(this).attr('checked', false);
                        }
                    ); 
                }
            }
        );

        // Fonction pour décocher le checkbox général
        $('.chkMembre').change(
            function()
            {
                if(!($(this).is(':checked')))
                {
                    $('#chkTout').attr('checked', false);
                }
            }
        );

        // Fonction pour afficher le pointeur lorsqu'on passe par-desuss le titre d'un membre du cours
        $('.nomMembre').hover(
            function()
            {
                $(this).addClass('pointer');
            }, 
            function()
            {
                $(this).removeClass('pointer');
            }
        );

        // Fonction pour faire apparaître le membre qu'on sélectionne
        $('.nomMembre').click(
            function()
            {
                var id = $(this).attr('id');
                id = id.substr(3)

                var code = $('#code' + id).html();
                var courriel = $('#courriel' + id).attr('value');
                if(code == '')
                {
                    code = 'Non défini';
                }
                if(courriel == '')
                {
                    courriel = 'Non défini';
                }

                $('#idMessage').attr('text', id)
                $('#titreLecture').html('Nom: ' + $(this).html() + '<span id="annulerLecture" class="pointer annulerLecture right">[x]</span>');
                $('#codeLecture').html('Code permanent: ' + code + '<br/>');
                $('#domaineLecture').html("Domaine détude: " + $('#domaine' + id).attr('value') + '<br/>');
                $('#sexeLecture').html('Sexe: ' + $('#sexe' + id).attr('value') + '<br/>');
                $('#courrielLecture').html('Courriel: ' + courriel + '<br/>');

                // On ajoute la fonction pour annuler la lecture
                $('.annulerLecture').click(
                    function()
                    {
                        $('#espLecture').fadeOut(250);
                        $('#espDisable').hide();
                    }
                );

                $('#espLecture').fadeIn(250);
                $('#espLecture').css("top", ($(window).height() - $('#espLecture').outerHeight()) / 2 + $(window).scrollTop() + "px");
                $('#espLecture').css("left", ($(window).width() - $('#espLecture').outerWidth()) / 2 + $(window).scrollLeft() + "px");
                $('#espDisable').css("height",$(document).height());
                $('#espDisable').css("width",$(document).width());
                $('#espDisable').show();
            }
        );

        // Fonction pour fermer la fenêtre de lecture de message
        $('.annulerLecture').click(
            function()
            {
                $('#espLecture').fadeOut(250);
                $('#espDisable').hide();
            }
        );

        // Fonction qui ouvre la fenêtre d'envoi de message 
        $('#btnNouveauMessage').click(
            function()
            {
                var nbDest = 0;
                var gauche = true;
                var classe = "gauche";

                $('#destinataires').html('');
                $('#areaEcriture').html('');
                $('#titreEcriture').val('');
                $('#compteurTitre').html('0');    
                $('#compteurMessage').html('0');    

                // On rempli les destinataires avec les membres cochés
                $('#destinataires').children().remove();

                $('.chkMembre').each(
                    function()
                    {
                        nbDest++;
                        if($(this).is(':checked'))
                        {
                            var idMembre = $(this).attr('name');
                            var username = $(this).attr('username');
                            if(gauche)
                            {
                                classe = "left";
                                gauche = false;
                            } 
                            else 
                            {
                                classe = "right";
                                gauche = true;
                            }
                            $('#destinataires').append('<li class="' + classe  + '">' +
                                '<img src="' + $('#img' + idMembre).attr('src') + '"/>' +
                                $('#nom' + idMembre).html() + '<input type=hidden name=dest_"' + username +
                                ' " value="' + username + '"/></li>'); 
                        }
                    }
                );
                if(nbDest == 0)
                {
                    alert($('#CoursAlertNoDest').val());
                }
                else
                {
                    $('#espEcriture').fadeIn(250);
                    $('#espEcriture').css("top", ($(window).height() - $('#espEcriture').outerHeight()) / 2 + $(window).scrollTop() + "px");
                    $('#espEcriture').css("left", ($(window).width() - $('#espEcriture').outerWidth()) / 2 + $(window).scrollLeft() + "px");
                    $('#espDisable').css("height",$(document).height());
                    $('#espDisable').css("width",$(document).width());
                    $('#espDisable').show();
                }
            }
        );

        // Fonction pour fermer la fenêtre d'écriture de message
        $('.annulerEcriture').click(
            function()
            {
                $('#destinataires').html('');
                $('#choixRecherche').html('');
                $('#areaEcriture').html('');
                $('#titreEcriture').val('');

                $('#espEcriture').fadeOut(250);
                $('#espDisable').hide();
            }
        );

        // Fonction qui emêche d'écrire plus de caractères que le maximum permis pour le titre
        $('#titreEcriture').keydown(
            function(e)
            {
                var longueur = $(this).val().length;
                if((e.keyCode == 8 || e.keyCode == 127) && e.keyCode != 127 && longueur != 0)
                {
                    longueur--;
                }else if(e.keyCode > 31)
                {
                    longueur++;
                }
                $('#compteurTitre').html(longueur);
            }
        );

        // Fonction qui emêche d'écrire plus de caractères que le maximum permis pour le message
        $('#areaEcriture').keydown(
            function(e)
            {
                var longueur = $(this).val().length;
                if((e.keyCode == 8 || e.keyCode == 127) && longueur != 0)
                {
                    longueur--;
                } else if(e.keyCode > 31)
                {
                    longueur++;
                }
                $('#compteurMessage').html(longueur);
            }
        );

        // Fonction qui envoi le message selon les informations entrées
        $('#btnEnvoyer').click(
            function()
            {
                var valide = true;
                // On vérifie si tous les champs sont remplis et qu'il y a des destinataires
                var nbDestinataires = $('#destinataires > li').size();
                if(nbDestinataires == 0)
                {
                    valide = false;
                }
                if($('#areaEcriture').html().replace(/ /g,'') == '')
                {
                    valide = false;
                    $('#areaEcriture').addClass('invalide');
                }
                if($('#titreEcriture').val().replace(/ /g, '') == '')
                {
                    valide = false;
                    $('#titreEcriture').addClass('invalide');
                }

                if(valide)
                {
                    $('#msgErreurVide').hide();
                    $('#areaEcriture').removeClass('invalide');
                    $('#titreEcriture').removeClass('invalide');
                    $('#formEnvoiMessage').submit();
                }
                else
                {
                    $('#msgErreurVide').fadeIn(250);
                    $('#msgErreurVide').css("top", ($(window).height() - $('#msgErreurVide').outerHeight()) / 2 + $(window).scrollTop() + "px");
                    $('#msgErreurVide').css("left", ($(window).width() - $('#msgErreurVide').outerWidth()) / 2 + $(window).scrollLeft() + "px");
                }
            }
        );

        // Fonction qui vérifie si le titre est vide
        $('#titreEcriture').blur(
            function()
            {
                if($(this).val().replace(/ /g, '') == '')
                {
                    $(this).addClass('invalide');
                    $('#msgErreurVide').fadeIn(250);
                    $('#msgErreurVide').css("top", ($(window).height() - $('#msgErreurVide').outerHeight()) / 2 + $(window).scrollTop() + "px");
                    $('#msgErreurVide').css("left", ($(window).width() - $('#msgErreurVide').outerWidth()) / 2 + $(window).scrollLeft() + "px");
                }
                else
                {
                    $(this).removeClass('invalide');
                    if($('#areaEcriture').val().replace(/ /g, '') != '')
                    {
                        $('#msgErreurVide').hide();
                    }
                }
            }
        );


        $('#areaEcriture').blur(
            function()
            {
                if($(this).val().replace(/ /g, '') == '')
                {
                    $(this).addClass('invalide');
                    $('#msgErreurVide').fadeIn(250);
                }
                else
                {
                    $(this).removeClass('invalide');
                    if($('#titreEcriture').val().replace(/ /g, '') != '')
                    {
                        $('#msgErreurVide').hide();
                    }
                }
            }
        );
    }
); // Fin de document.ready
